package com.ideaaedi.zoo.example.springboot.flowable.sharding.entity.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author Administrator
 * @since 1.0.0
 */
@Getter
@Setter
@TableName("ACT_HI_ACTINST")
@Schema(name = "ActHiActinstPO", description = "历史节点信息")
public class ActHiActinstPO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @TableId("ID_")
    @Schema(description = "id")
    private String id;

    @TableField("REV_")
    @Schema(description = "版本号")
    private Integer rev;

    @TableField("PROC_DEF_ID_")
    @Schema(description = "流程定义ID")
    private String procDefId;

    @TableField("PROC_INST_ID_")
    @Schema(description = "流程实例ID")
    private String procInstId;

    @TableField("EXECUTION_ID_")
    @Schema(description = "执行实例ID")
    private String executionId;

    @TableField("ACT_ID_")
    @Schema(description = "节点ID")
    private String actId;

    @TableField("TASK_ID_")
    @Schema(description = "任务ID")
    private String taskId;

    @TableField("CALL_PROC_INST_ID_")
    @Schema(description = "调用外部的流程实例ID")
    private String callProcInstId;

    @TableField("ACT_NAME_")
    @Schema(description = "节点名称")
    private String actName;

    @TableField("ACT_TYPE_")
    @Schema(description = "节点类型")
    private String actType;

    @TableField("ASSIGNEE_")
    @Schema(description = "经办人")
    private String assignee;

    @TableField("START_TIME_")
    @Schema(description = "开始时间")
    private Date startTime;

    @TableField("END_TIME_")
    @Schema(description = "结束时间")
    private Date endTime;

    @TableField("TRANSACTION_ORDER_")
    @Schema(description = "事务提交优先级")
    private Integer transactionOrder;

    @TableField("DURATION_")
    @Schema(description = "耗时(毫秒)")
    private Long duration;

    @TableField("DELETE_REASON_")
    @Schema(description = "删除原因")
    private String deleteReason;

    @TableField("TENANT_ID_")
    @Schema(description = "租户值")
    private String tenantId;

    @Schema(description = "日期（yyyy-MM-dd）")
    @TableField("sharding_date")
    private String shardingDate;
}
